/**
 * Created by zy on 2016/6/13.
 * 变化趋势/数据对比分析(共用) - 管体缺陷仪表板 - 管体缺陷
 */

//腐蚀控制-阴保运行管理-异常处理

;(function ($, window, document, undefined) {

    // 管道
    var $pipeline = $('#JQ_pipeline').select3();
    // 检测任务
    var $task = $('#JQ_task').select3();
    //table
    var $table01=$('#JQ_datatable_01')
    // 导出
    var $expect = $('#JQ_export_01');


    //触发管道
    $pipeline.element.on('select', function (e, v) {
        var id = v || $pipeline.val();
        if(id){
            DyyBase.ajax(DyyBase.url_piping_task(), {lineId:id}, function(dataset){
                var json = getSelect(dataset);
                $task.asset(json);
                $('#JQ_task').data("data",dataset.result);
            });
        }else{
            $task.asset([]);
        }
    });
    $pipeline.element.trigger('select');
    function getSelect(d,t){
        var arr = [];
        var len = d.result.length;
        if(len > 0){
            for(var i = 0; i < len; i++){
                var obj = {};
                if(t){
                    if(d.result[i].id && d.result[i].mileage){
                        obj.id = d.result[i].id;
                        obj.text = d.result[i].mileage;
                        arr.push(obj);
                    }
                }else{
                    if(d.result[i].ID && d.result[i].NAME){
                        obj.id = d.result[i].ID;
                        obj.text = d.result[i].NAME;
                        arr.push(obj);
                    }
                }
            }
        }
        return arr;
    }

    var filter = {
        getSearch: function (param) {
            var data = {};
            data.mode = true;
            // 分页参数
            if (param) {
                if (param.start == 0) {
                    data['jsonBean.pageNum'] = 1;
                } else {
                    data['jsonBean.pageNum'] = param.start / 10 + 1;
                }
                data['jsonBean.pageCount'] = param.length;
            }
            if(!DyyBase.search){
                data.lineId = $pipeline.val();
                data.taskId = $task.val();
                data.lineName=$pipeline.val('text');
                data.taskName= $task.val('text');
                return data;
            }

            //检测任务
            data.taskId = function () {
                var v = $task.val();
                if (v) {
                    return v;
                }else {
                    $task.element.TIP({content: '检测任务不能为空!'});
                    data.mode = false;
                }
                return '';
            }();
            //管道
            data.lineId = function () {
                var v = $pipeline.val();
                if (v) {
                    return v;
                }else {
                    $pipeline.element.TIP({content: '管道名称不能为空!'});
                    data.mode = false;
                }
                return '';
            }();
            //管道名称
            data.lineName=function(){
                var v = $pipeline.val('text');
                if (v) {
                    return v;
                }
                return '';
            }();
            //任务名称
            data.taskName=function(){
                var v = $task.val('text');
                if (v) {
                    return v;
                }
                return '';
            }();
            //
            return data;
        },
        getExport: function(){
            return filter.getSearch();
        }
    };

    /*** 加载列表 start ***/
    var DTROOM = $table01.DataTable({
        'language': {
            'paginate': {
                'next': '下一页',
                'previous': '上一页'
            },
            'info': '本次检索共 _TOTAL_ 条，每页显示 10 条，共 _PAGES_ 页',
            'zeroRecords': DyyBase.table_empty(),
            'infoEmpty': ''
        },
        'autoWidth': false,
        'order': [],
        'serverSide': true,
        'pageLength': 10,
        'ordering': false,
        'processing': false,
        'searching': false,
        'lengthChange': false,
        'ajax': function (data, callback) {
            var param = filter.getSearch(data);
            DyyBase.ajax(insp.url_insp_point(), param, function (dataset) {
                var returnData = {};
                returnData.draw = data.draw;
                returnData.recordsTotal = dataset.result.total;
                returnData.recordsFiltered = dataset.result.total;
                returnData.data = DyyBase.clearNull(dataset.result.list);
                callback(returnData);
            });
        },
        'drawCallback': function () {
        },
        'columns': [
            {
                data: 'LINENAME', render: function (data) {
                return '<span title="' + data + '">' + data + '</span>';
            }
            },
            {
                data: 'MILEAGE', render: function (data) {
                return '<span title="' + data + '">' + data + '</span>';
            }
            },
            {
                data: 'AGM', render: function (data) {
                return '<span title="' + data + '">' + data + '</span>';
            }
            },
            {
                data: 'GROUND_AGM', render: function (data){
                return '<span title="' + data + '">' + data + '</span>';

            }
            },
            {
                data: 'AGM_PROPERTY', render: function (data) {
                return '<span title="' + data + '">' + data + '</span>';

            }
            },
            {
                data: 'POSITION_RELATION', render: function (data) {
                return '<span title="' + data + '">' + data + '</span>';
            }
            },
            {
                data: 'DISTANCE_TO_AGM', render: function (data) {
                return '<span title="' + data + '">' + data + '</span>';
            }
            },
            {
                data: 'ID', render: function (data) {
                return '<i title="展开详情" class="zy-details-icon" data-id="' + data + '"></i>';
            }
            }
        ]
    });

    // 参考点详情模板
    var point = [
        {name: 'LINENAME', title: '管道名称 : '},
        {name: 'MILEAGE', title: '内检测位置信息-绝对距离（m）: '},
        {name: 'AGM', title: '内检测位置信息-内检测参考点 : '},
        {name: 'GROUND_AGM', title: '对应地面参考点信息-对应地面参考点 : '},
        {name: 'AGM_PROPERTY', title: '对应地面参考点信息-地面参考点属性 : '},
        {name: 'POSITION_RELATION', title: '对应地面参考点信息-相对位置关系: '},
        {name: 'DISTANCE_TO_AGM', title: '对应地面参考点信息-相对距离（m） : '},
        {name: 'RECRDER', title: '记录人 :'},
        {name: 'RECORD_TIME', title: '记录时间:',render: function(d){
            return Dyy.getDate(d);
        }
        },
        {name: 'REMARK', title: '备注 :'}
    ];

    // 展开详情
    $table01.on('click', 'i.zy-details-icon', function () {
        DyyBase.showDetails($(this), DTROOM, $table01, point);
    });
    // 查询
    $('#JQ_search_btn_01').click(function () {
        DyyBase.search = true;
        var param = filter.getSearch();
        DyyBase.search=true;
        if (param.mode) {
            if(DTROOM){
                DTROOM.draw();
            }
        }
    });

    //导出
    $expect.click(function () {
        if(DTROOM.data().length > 0) {
            var param = filter.getExport();
            if(param instanceof Function){
                param = param();
            }
            $(this).EXPT({
                name: $pipeline.val('text')+'参考点信息表',
                param: param,
                server: DyyBase.root_path +　'/insp/reference/export.json'
            });
        } else {
            $(this).MSG({
                content: '没有需要导出的记录'
            });
        }
    });


})(jQuery, window, document);